package com.wa.service;

import com.wa.dto.OperatorInfoDto;
import com.wa.enums.LogModuleEnum;
import com.wa.enums.LogTypeEnum;

/**
 * 平台日志处理
 *
 * @author: Homan Liang
 * @time: 2021/10/22 16:41
 */
public interface IAllchipsLogHandleService {
    /**
     * 保存日志
     *
     * @param dataObject
     * @param operatorInfoDto
     * @param logModule
     * @param logTypeEnums
     * @throws Exception
     */
    void saveLog(Object dataObject, OperatorInfoDto operatorInfoDto, LogModuleEnum logModule, LogTypeEnum[] logTypeEnums) throws Exception;

    /**
     * 保存日志--异步调用
     *
     * @param dataObject
     * @param operatorInfoDto
     * @param logModule
     * @param logTypeEnums
     * @throws Exception
     */
    void saveLogAsync(Object dataObject, OperatorInfoDto operatorInfoDto, LogModuleEnum logModule, LogTypeEnum[] logTypeEnums) throws Exception;

    /**
     * 保存日志--异步调用
     *
     * @param dataObject
     * @param operatorInfoDto
     * @param logModule
     * @param logTypeEnum
     * @throws Exception
     */
    void saveLogAsync(Object dataObject, OperatorInfoDto operatorInfoDto, LogModuleEnum logModule, LogTypeEnum logTypeEnum) throws Exception;


    /**
     * 获取操作员信息
     *
     * @Author Dawn
     * @Date 2021/10/21 16:24
     */
    OperatorInfoDto getOperatorInfo();
}